/**
 * @author   Ivan Andonov
 * @email:   ivan.andonov[at]gmail[dot]com
 * 
 * @require  sjs
 * @use
 * @lastupdate 
 **/
(function() {
	
	sjs.create('sjs.Example', {
		
		// constructor
		initialize : function() {
			
			// PRIVATE VARS
			var privateVar = 10;
			
			// PUBLIC VARS
			this.publicVar = 20;
			
			// PRIVATE METHODS
			function privateMethod() {
				return ++privateVar;
			};
			
			// PUBLIC METHODS
			this.getter = function(v) {
				return this[v] != undefined ? this[v] : eval(v);
			};
			
			this.publicMethod = function() {
				return 'privateVar='+privateMethod()+' classInstance='+this.classInstance();
			};
			
		},
		
		// PUBLIC STATIC VARS
		publicStaticVar : 'publicStaticVar',
		
		// PUBLIC STATIC METHODS
		publicStaticMethod : function() {
			return this.publicStaticVar+' '+privateStaticVar+' '+this;
		}
		
	});
	
	// PRIVATE STATIC VARS
	var privateStaticVar = 'privateStaticVar';
	
	// PRIVATE STATIC METHODS
	function privateStaticMethod() {
		return privateStaticVar;
	}
	
})();